//
//  Copyright (c) 2008 Bogozma Electronics Inc.
//
//  @ Project : Bogozma Software Development Kit (SDK)
//  @ File Name : CBgaSystem.h
//  @ Date : 6/12/2008
//  @ Author : Michael Gozzo (OIQ# 140438)
//



#if !defined(_CBGASYSTEM_H)
#define _CBGASYSTEM_H

#include "bgaos.h"
#include "BgaEnums.h"
#include "CBgaDevice.h"

#if BCL_USE_WINDOWS
#pragma warning( disable: 4251 )
#endif

#if BCL_USE_GNU
#pragma GCC visibility push(default)
#endif

namespace BogozmaCommunicationLibrary
   {
   class BGACOMLIB_EXPORT CBgaSystem
      {
      public: 
         virtual void DiscoverDevices(enumDeviceType devType = eAny) = 0 ;
         virtual long GetNumberOfDevices(enumDeviceType devType = eAny) = 0;
         virtual CBgaDevice* GetDevice(long DeviceNumber) = 0;
         virtual CBgaDevice* GetDeviceByName(char* DevName) = 0;
      };
   }


#if BCL_USE_GNU
#pragma GCC visibility pop
#endif

#endif  //_CBGASYSTEM_H
